Systems, methods and devices for a telematics web services interface feature

ABSTRACT

A telematics system is disclosed that includes a web services interface in communication with a secondary software system, wherein the web services interface comprises at least one processor configured to retrieve, receive, analyze and/or transmit data in response to a request from the secondary software system. In addition, the telematics system includes a gateway system configured to transmit data through a network to an in-vehicle telematics device and receive data from the in-vehicle telematics device, wherein the data comprises diagnostic data and/or location-based data associated with a host vehicle. The telematics system also includes a database in communication with the gateway system and the web services interface, wherein the database is configured to receive and store data transmitted from the gateway system and/or the web services interface.

This application is a continuation-in-part of prior application Ser. No. 10/626,810, filed Jul. 24, 2003, which is a continuation of prior application Ser. No. 09/808,690, filed Mar. 14, 2001, now U.S. Pat. No. 6,611,740 the contents of each prior application incorporated herein by reference.

BACKGROUND

Vehicles, such as light-duty cars and trucks and heavy-duty tractor/trailers, may include “telematics” systems that monitor information describing the vehicle's location and diagnostic condition. Such telematics systems may include a conventional global positioning system (“GPS”) that receives signals from orbiting satellites and a processor that analyzes these signals to calculate a GPS “fix.” The fix describes the vehicle's location with an accuracy of about 10 meters or better and may include data such as the vehicle's latitude, longitude, altitude, heading, and velocity.

Telematics systems may also include circuitry that monitors the host vehicle's diagnostic system. For example, light-duty automobiles and trucks beginning with model year 1996 may include an on-board diagnostic (“OBD-II”) system as mandated by the Environmental Protection Agency (“EPA”). OBD-II systems may operate under one of the following communication protocols: J1850 VPW (Ford); J1850 VPWM (General Motors); ISO 9141-2 (most Japanese and European vehicles); Keyword 2000 (some Mercedes and Hyundai vehicles); and CAN (a newer protocol used by many vehicles manufactured after 2004).

OBD-II systems monitor the vehicle's electrical, mechanical and emissions systems and generate data such as vehicle speed (“VSS”), engine speed (“RPM”), engine load (“LOAD”), and mass air flow (“MAF”). This data may be processed by a vehicle's engine control unit (“ECU”) to detect malfunctions or deterioration in vehicle performance. In processing such data, the ECU may generate diagnostic trouble codes (“DTCs”), which are 5-digit codes (e.g., “P0001”) indicating electrical or mechanical problems with the vehicle. Most vehicles manufactured after 1996 make the information available through a standardized, serial 16-cavity connector located in the vehicle and referred to herein as an “OBD-II connector.” The OBD-II connector provides a serial interface to the vehicle's ECU and passes data and diagnostic codes to diagnostic equipment located external to the vehicle.

Likewise, heavy-duty trucks may also include a diagnostic system referred to herein as a “truck diagnostic system,” which is analogous to the OBD-II systems present in light-duty vehicles. Truck diagnostic systems may operate under a communication protocol such as J1708/J1587 or J1939 and may include a connector located in the truck's interior and referred to herein as the “truck diagnostic connector.” The truck diagnostic connector, like the OBD-II connector, makes the diagnostic information available to diagnostic equipment located external to the vehicle.

SUMMARY

An aspect of the present invention is to provide a telematics system that monitors a vehicle's diagnostic and location-based data and utilizes a web services interface to send the data to a secondary software application. According to various embodiments, an in-vehicle telematics device may transmit the diagnostic and location-based data from the vehicle to a database for storage. According to further embodiments, the web services interface may be in communication with the database, and when instructed by the secondary software application, the web services interface may extract the diagnostic and location-based data from the database. In addition, the web services interface may also format the data into a simple object access protocol (SOAP) message and transmit the message to the secondary software application. As a result, a user of the secondary software application, who is remotely located from the vehicle, may view the diagnostic and location-based data and make informed decisions regarding the status and location of the vehicle.

In one embodiment, the present invention is directed to a telematics system. The telematics system includes a web services interface in communication with a secondary software system, wherein the web services interface comprises at least one processor, wherein the processor is configured to retrieve, receive, analyze and/or transmit data in response to a request from the secondary software system. In addition, the telematics system includes a gateway software system configured to transmit data through a network to an in-vehicle telematics device and receive data from the in-vehicle telematics device, wherein the data comprises diagnostic data and/or location-based data associated with a host vehicle. The telematics system also includes a database in communication with the gateway software system and the web services interface, wherein the database is configured to receive and store data transmitted from the gateway software system and/or the web services interface.

In another embodiment, the present invention is directed to a telematics system that includes a gateway software system configured to receive diagnostic data and/or location-based data associated with a host vehicle. In this embodiment the diagnostic and location-based data are transmitted from an in-vehicle telematics device. In addition, the telematics system includes a web services interface configured to transmit data to a secondary software system and/or the in-vehicle telematics device and receive data from the secondary software system and/or the in-vehicle telematics device. The telematics system also includes a database, in communication with the gateway software system and the web services interface, configured to receive and store the diagnostic data and/or the location-based data. The diagnostic and location-based data are transmitted from the gateway software system and/or the web services interface.

In another embodiment, the present invention is directed to a method of monitoring and communicating diagnostic data and/or location-based data concerning a host. The method includes transmitting data to an in-vehicle telematics device and/or receiving diagnostic data and/or location-based data from the in-vehicle telematics device. The method also includes receiving a first message from a secondary software system; processing the first message; storing data in a database; retrieving data from the database; processing data; processing a web services description language file; and transmitting a second message to the secondary software system.

In another embodiment, the present invention is directed to an apparatus. The apparatus includes means for transmitting data to an in-vehicle telematics device and/or receiving diagnostic data and/or location-based data from the in-vehicle telematics device. The apparatus also includes means for receiving a first message from a secondary software system; means for processing the first message; means for storing data in a database; means for retrieving data from the database; means for processing data; means for processing a web services description language file; and means for transmitting a second message to the secondary software system.

In another embodiment, the present invention is directed to a computer-readable medium. According to this embodiment, the computer readable medium has stored thereon instructions which, when executed by a processor, cause the processor to transmit data to an in-vehicle telematics device and/or receive diagnostic data and/or location-based data from the in-vehicle telematics device. Instructions stored on the computer-readable medium may also cause the processor to receive a first message from a secondary software system; process the first message; store data in a database; retrieve data from the database; process data; process a web services description language file; and transmit a second message to the secondary software system.

BRIEF DESCRIPTION OF DRAWINGS

Further advantages of the present invention may be understood by referring to the following descriptions taken in conjunction with the accompanying drawings, in which:

FIG. 1 is a schematic drawing of a telematics system featuring a web services interface according to one embodiment of the present invention;

FIG. 2 is a schematic drawing of the web services interface of FIG. 1 according to one embodiment of the present invention;

FIG. 3 is a flowchart illustrating a process performed by the telematics system according to one embodiment of the present invention;

FIG. 4 is a schematic drawing of a telematics system featuring a web services interface according to one embodiment of the present invention;

FIG. 5A is a schematic drawing of an Internet-accessible web site according to one embodiment of the present invention;

FIG. 5B is a schematic drawing of an Internet-accessible web page according to one embodiment of the present invention;

FIG. 6 is a schematic drawing of an Internet-accessible web page displaying diagnostic data according to one embodiment of the present invention;

FIG. 7 is a schematic drawing of an Internet-accessible web page displaying location-based data according to one embodiment of the present invention; and

FIG. 8 is a schematic drawing of an Internet-accessible web page displaying service records according to one embodiment of the present invention.

DETAILED DESCRIPTION

It is to be understood that the figures and descriptions of the present invention have been simplified to illustrate elements that are relevant for a clear understanding of the present invention, while eliminating, for purposes of clarity, other elements of a conventional telematics system. For example, certain telematics systems may include multiple power supplies that are not described herein. Those of ordinary skill in the art will recognize, however, that these and other elements may be desirable in a typical telematics system. However, because such elements are well known in the art and because they do not facilitate a better understanding of the present invention, a discussion of such elements is not provided herein.

Also, in the claims appended hereto, any element expressed as a means for performing a specified function is to encompass any way of performing that function including, for example, a combination of elements that perform that function. Furthermore the invention, as defined by such means-plus-function claims, resides in the fact that the functionalities provided by the various recited means are combined and brought together in a manner as defined by the appended claims. Therefore, any means that can provide such functionalities may be considered equivalents to the means shown herein.

The term data is used herein generally to refer to any numbers, letters, symbols and/or analog quantities that function as an input to a device and/or an output from a device. The term “communication” is used herein generally to refer to any wireless and/or wireline transmission and/or reception of data including, but not limited to, voice, text and video data. Furthermore, the terms “send,” “transmit” and “receive,” or any conjugations thereof, are used herein generally to refer to all data communications over landline and/or wireless technologies including, but not limited to, point-to-point transfers and packet-switched networking. In addition, the term “user” is used herein generally to refer to a person and/or apparatus that operates, interfaces and/or communicates with a device or system such as, for example, a person operating a software system or a person interfacing with an Internet accessible website.

FIG. 1 shows a telematics system 5, according to one embodiment of the present invention, that utilizes a web services interface 14 to monitor and analyze diagnostic and location-based data describing a vehicle 9. The web services interface 14 may cause the vehicle 9 to be in communication with a secondary software system 15, thereby enabling a user of the secondary software system 15 that is remotely located from the vehicle to view the diagnostic and location-based data and make informed decisions regarding the status and location of the vehicle.

In one embodiment, the telematics system 5 may include: (1) a telematic device 10 located in the vehicle 9; (2) a gateway software system 12 configured to receive the diagnostic and location-based data wirelessly transmitted from the telematics device 10; (3) a database 13 configured to receive the diagnostic and location-based data from the gateway software system 12 and store this data or derivatives thereof; and (4) a web services interface 14 configured to retrieve the diagnostic and location-based data or derivatives thereof from the database 13 in response to a request from the secondary software system 15.

According to one embodiment, an OBD-II connector (not shown) may supply power and ground to the telematics device 10. Additionally, the OBD-II connector may provide a serial interface between the telematics device 10 and the vehicle's engine computer (not shown), thus enabling the telematics system 5 to collect diagnostic data regarding the vehicle 9. In another embodiment, the telematics device 10 may also include an internal GPS system configured to receive signals from overlying satellites and convert the signals into location-based data such as latitude, longitude, altitude, speed, and heading.

In yet another embodiment, the telematics device 9 may also transmit and/or receive diagnostic and location-based data through a wireless network 11. The wireless network 11 connects to a gateway software system 12, e.g. a Unix gateway system. The wireless network 11 may involve a conventional circuit, or packet-switched network, e.g. CDMA networks (e.g., networks operated by Sprint and Verizon), GSM/GPRS networks (e.g., networks operated by ATT and Cingular), data-only networks (e.g., Mobitex and DataTac) and/or satellite networks. According to this embodiment, the gateway software system 12 may process the diagnostic and location-based data and store the data in the database 13. Furthermore, the secondary software system 15 may also utilize the web services interface 14 to access the diagnostic and location-based data stored in the database 13.

In one embodiment, the web services interface 14 may be based on Extensible Markup Language (“XML”), a computer language that encloses data in “documents” that are portable between software applications. According to this embodiment, XML may be utilized as a system-independent language for representing data transmitted across the web services interface 14. This transmission of data may be in the form of simple object access protocol (“SOAP”) messages, which are XML-based messages that are communicated through standard Internet protocols such as, for example, Hypertext Transfer Protocol (“HTTP”).

In another embodiment, the web services interface 14 may communicate with the secondary software system 15, wherein the secondary software system 15 may be an end-user application such as, for example, a web site and/or a software system capable of providing web services. According to this embodiment, the secondary software system 15 may process the diagnostic and location-based data by itself or combine and process these data with other information, which may be stored directly on the secondary software system 15 or may be accessed by the secondary software system 15 using the web services interface 14.

In one embodiment, the web services may be implemented with software, such as BEA WebLogic Server. According to this embodiment, the software may contain a software application, called a “servlet module,” which sends and/or receives XML-based SOAP messages to and/or from the secondary software system 15. According to this embodiment, the servlet module may implement remote procedure calls (“RPCs”) between the web services interface 14 and the secondary software system 15. In one embodiment, a user of the secondary software system 15 may utilize a keyboard, mouse or other input device to instruct the secondary software system 15 to poll data from the database 13 using the web services interface 14. In other embodiments, the secondary software system 15 may receive an automated HTTP request to initiate the data polling.

In another embodiment, the secondary software system 15 may interpret XML messages transmitted by the web services interface 14. According to this embodiment, the XML messages may be used to code web pages by enclosing data in “tags” that define the enclosed information. XML messgages may also be extensible, meaning a user may develop application-specific tags to disclose a wide range of data. In addition, with XML, the user may create a “schema” that describes the structure of the XML document, such as the definitions and locations of the tags used therein.

According to one embodiment of the present invention, the web services interface 14 may send diagnostic and location-based data formatted in a SOAP message from the database 13 to the secondary software system 15. In this embodiment, the web services interface 14 may “pull” (e.g., extract) the data from the database 13 in response to a query from the secondary software system 15 rather than “push” data to the secondary software system 15. In addition, the data may be formatted independent from the secondary software system 15 query or any other query that may result from any “downstream” processing.

In one embodiment, the secondary software system 15 may be designed on a software platform that supports web services, such as the Java 2 Platform, Enterprise Edition (J2EE™) or Microsoft's Net platform. The secondary software system 15 that may be built on J2EE™, may connect to other software applications through web services and include essential features such as security, distributed transaction management, and connection pool management. In other embodiments, data may be displayed using a conventional web application 20 that does not utilize a web service.

In one embodiment, the data transfer executed by the web services interface 14 may operate independently from the secondary software system 15, the data format of the secondary software system 15 or any processing performed by the secondary software system 15. Therefore, according to this embodiment, the telematics system 5 may function as a “data provider” to numerous secondary software systems 15, wherein each secondary software system 15 may be configured to execute different functions. For example, a vehicle-leasing company may employ a secondary software system 15 that utilizes the diagnostic and location data in combination with other data to perform a leasing transaction, such as authorizing a leased vehicle in need of repair. Using a web site that relies on the web services interface 14, a user at the vehicle-leasing company may access a web page that displays the vehicle's diagnostic data, previous service records, and a description of the type of repair that may be required. With this information, combined with data describing the vehicle's location, owner, and leasing program, the user may authorize the repair.

In another embodiment, the telematics system 5 may transmit the vehicle's location-based data through the web services interface 14 to a web-based secondary software system 15 operated by a call center that recovers stolen vehicles. According to this embodiment, a customer, whose vehicle was stolen, may call an operator located at a call center that has access to the web-based software system. Using the web services interface 14, the web-based secondary software system 15 retrieves the vehicle's most recent GPS-determined locations from the database 13. Armed with this information, the call center operator may then contact the local police to recover the stolen vehicle.

Alternatively, the telematics system 5 may transmit data and/or instructions from the secondary software system 15 to the in-vehicle telematics device 10 via the web services interface 14. The in-vehicle telematics device 10 may then display the data, or process and execute the instructions to perform a function. Such functions may include opening the vehicle's doors, sending diagnostic and/or location data, changing an update rate in which these data are transmitted, or downloading new firmware into the in-vehicle telematics device 10. In other embodiments, the data and/or instructions transmitted from the secondary software system 15 to the in-vehicle telematics device 10, or the data and/or instructions transmitted from the in-vehicle telematics device 10 to the secondary software system 15, may be used alone or in combination with other data to perform a given function.

In yet another embodiment, the telematics system 5 may provide wireless, real-time transmission and analysis of diagnostic and location-based data by one or more peripheral devices in communication with the in-vehicle telematics device 10. According to this embodiment, the telematics system 5 may characterize the vehicle's performance and determine the vehicle's location in real-time from any remote location that is in communication with a network, such as, for example, the Internet. In addition, the diagnostic and location information are complementary and, when analyzed together, may improve conventional services such as roadside assistance, vehicle theft notification and recovery, and remote diagnostics analysis. For example, the information may, according to one embodiment, indicate a vehicle's location, the vehicle's fuel level and battery voltage, and whether or not the vehicle 9 has any active diagnostic trouble codes (“DTCs”). Using such information, a call center, for example, may dispatch a tow truck equipped with the appropriate materials to properly service the vehicle 9 such as, for example, extra gasoline or tools required to repair a specific problem.

In another embodiment, one or more secondary software systems 15 are in communication with the web services software interface 14. The secondary software systems 15 may communicate simultaneously or sequentially with the web services software interface.

Further embodiments of the present invention may also be used in servicing a wide range of vehicles. In one embodiment, the telematics system 5 may, for example, cause the secondary software system 15 and/or the Web application 20 to be in communication with vehicles 9, including but not limited to: (1) automobiles, (2) commercial equipment, (3) light, medium and heavy-duty trucks, (4) construction vehicles such as, for example, front-end loaders, bulldozers and forklifts, (5) powered sport vehicles such as, for example, motorboats, motorcycles, all-terrain vehicles, snowmobiles and jet skis, (6) collision repair vehicles, (7) marine vehicles, and (8) recreational vehicles. Further, embodiments may also be useful in the vehicle care industry.

Now referring to FIG. 2, the illustrated embodiments depict a telematics system 5 involving the web services interface 14 in communication with the secondary software system 15. In one embodiment, the web services interface 14 may comprise one or more processors having stored thereon instructions which, when executed by the processor, cause the processor to communicate with the secondary software system 15 and the database 13. According to this embodiment, the instructions may include a web services container 17 that may be a software application written, for example, in Java, and developed on a platform such as BEA WebLogic. The web services container 17 may execute an RPC SOAP servlet module 19 that communicates over HTTP with the secondary software system 15. In another embodiment, the instructions, which are stored on the web services interface processor, may also include an enterprise java bean (EJB) container 16. The EJB container 16 may be a software application configured to execute one or more stateless session enterprise java beans (EJB) 18 that communicate with the RPC SOAP servlet module 19. According to this embodiment, the servlet module 19 functions as a remote object that performs a well-defined function concerning the secondary software system 15.

In one embodiment, the RPC SOAP servlet module 19 in the web services interface 14 may be configured to process messages coded in an application-independent format such as an XML and/or SOAP format. According to this embodiment, the RPC SOAP servlet module 19 may include computer code that instructs the web services interface 14 to receive a SOAP message sent from the secondary software system 15, process the SOAP message, and extract at least one parameter from the message. In addition, the extracted parameter(s) may be transmitted to the stateless session EJB 18, wherein the stateless session EJB 18 is configured to transmit information to the database 13 and extract information from the database 13.

In other embodiments, the stateless session EJB 18 may include computer code that instructs the web services interface 14 to process a web services description language (WSDL) file and send at least one parameter of the WSDL file to the RPC SOAP servlet module 19. According to this embodiment, the WSDL file may be an XML document that specifies the location (e.g., web address) of the web service and the operations that the web service conducts. In still other embodiments, the web services interface 14 may further include computer code that sends the diagnostic and location-based data in the form of an XML or SOAP message to the secondary software system 15. In further embodiments, the web services interface 14 may include a software interface configured to receive information such as service records from the secondary software system 15. In these embodiments, the secondary software system 15 may, for example, be a data-management software (DMS) system and/or an enterprise resource planning (ERP) software system.

According to yet another embodiment of the present invention, the secondary software system 15 may instruct a web service to transmit parameter values in the form of a SOAP message to the web services container 17, which in turn may instruct the RPC SOAP servlet module 19 to return data to the secondary software system 15 in the form of a second SOAP message.

FIG. 3 is a flowchart illustrating an embodiment of a process performed by the telematics system according to the present invention, wherein the web services container may include multiple SOAP servlet modules that are configured to manage different requests formatted in SOAP messages. According to this embodiment, one or more SOAP servlet modules may, at step 200, receive a first SOAP message from the secondary software system and, at step 202, “unwrap” the message to identify parameters contained within the message. At step 204, the SOAP servlet modules may process the parameters to identify and implement the stateless session EJB within the EJB container. The process may then proceed to step 206 where the SOAP servlet modules may send the parameters to the selected stateless session EJB. In response, the stateless session EJB may process the parameters and return a value to the SOAP servlet module at step 208, thereby triggering step 210 where the SOAP servlet module generates and sends to the secondary software system a second SOAP message that includes the return value. The process may then proceed to step 212 where the secondary software system displays the return value using a web site, for example, and/or stores the return value into a database located within the secondary software system.

FIG. 4 depicts an embodiment wherein the secondary software system 15 performs a “GPS_Info web service.” In this embodiment the secondary software system 15 requests GPS information, such as a vehicle's latitude and longitude from a software system 34. In one embodiment, the software system 34 may be a component of a larger software system such as a telematics system. In addition, the software system 34 may be identified by a web address such as—“www.networkcar.com/pub/gpsinfo/gps_location.” According to this embodiment, the software system 34 may include a web services container 27 and an EJB container 26, similar to those described above with reference to FIG. 2. During operation, the web services container 27 may receive a request in the form of a first GPS SOAP message 23 from the secondary software system 15. In response, the web services container 27 may instruct a GPS_Info SOAP servlet module 24 to unwrap the first GPS SOAP message 23 and extract parameters. In one embodiment, these parameters may identify that a GPS_Info EJB 25 needs to be implemented.

In another embodiment, the GPS_Info web service may be defined by a web services description language (WSDL) file 29, which is dynamically served through the GPS_Info EJB 25. According to this embodiment, the WSDL file 29 may be an XML document that specifies the location (e.g., web address) of the web service and the operations that the web service conducts, for example, a web service for retrieving location-based data.

In one embodiment of the present invention, the GPS_Info SOAP servlet module 24 may instruct the GPS_Info EJB 25 to execute a task and provide the GPS_Info EJB 25 with the necessary information to carry out the task. This information may include: an identification of the in-vehicle telematics device hat measures the GPS-determined location; the VIN of the vehicle that hosts the in-vehicle telematics device; and the name, username, and password of the customer associated with the vehicle. According to this embodiment, the GPS_Info EJB 25 may query a database 30 to authorize the request by ensuring that the requesting user has a valid username and password. In another embodiment, the GPS_Info EJB 25 may query the database 30 to generate a response “string” in the form of an XML document that includes either the requested GPS data or an “error statement” indicating that the GPS data is not available. In addition, the GPS_Info EJB 25 may return the XML document as a “payload” to the SOAP servlet module 24, wherein the SOAP servlet module 24 is configured to return the payload information to the secondary software system 15 in the form of a second SOAP message 23′.

According to one embodiment, the secondary software system 15 may complete the web service by receiving and processing the second SOAP message 23′. According to this embodiment, the secondary software system 15 may parse the XML payload within the second SOAP message 23′ and incorporate the location-based data therein into an application such as a web site that features a mapping application; however, if the XML payload includes an error statement then the web site may then render an error message.

FIG. 5A-FIG. 8 illustrate Internet-accessible web pages, according to several embodiments of the present invention, wherein the Internet-accessible web pages are supported by the secondary software system. In these embodiments, the secondary software system may utilize the web services interface as described above, and may also display, receive and transmit data in more detail below.

FIG. 5A illustrates an Internet-accessible web page 66 a according to one embodiment of the present invention. According to this embodiment, the web page 66 a may enable a fleet manager, for example, to view GPS and diagnostic information and text messages for each vehicle in the fleet. The web page 66 a may be also connected to a text messaging-processing component configured to process information received from a host vehicle, comprising a telematics device and a peripheral device such as an LCD/keyboard.

In other embodiments, the web page 66 a may feature tabs 42 a-d that are capable of connecting to secondary web pages that display vehicle diagnostic information (42 a), GPS information and mapping (42 b), service records (42 c) and text messaging (42 d). Each of these web pages 42 a-d is described below with reference to FIG. 5B-FIG. 8.

FIG. 5B is a block diagram of a web page 66 b according to one embodiment of the present invention. The web page 66 b may be rendered when a user selects the tab 42 d labeled “Text Messaging” in the website 66 a shown in FIG. 5A. The web page 66 b may include a window 43 wherein a user (for example, a fleet manager) may type a text message that is sent through a wireless network and displayed on an LCD attached to the in-vehicle telematics device. The web page 66 b may also include a field 44 that lists standard components of the text message such as the destination of the text message, the sender, and the subject of the message. In one embodiment, a fleet manager may type a message in the window 43 and wirelessly transmit the message to the driver of the host vehicle 9 by selecting the “Send” button 46. Similarly, the fleet manager may receive incoming text messages in the window 43 by clicking the “Receive” button 48. According to various embodiments of the present invention, the text messages may be sent to and received from the in-vehicle telematics device using the web services interface as described above.

In another embodiment, the web page 66 b may include text messaging software that enables the web page 66 b to communicate with additional web pages that include software systems for managing text messages. According to this embodiment, these software systems may include file-management systems for storing and managing incoming and outgoing messages; systems for sending messages to multiple vehicles in the fleet; systems for tracking the status of a message; systems for storing draft and standard, formatted messages such as, for example, maps, directions, and standard responses; systems for sending standard messages; systems for porting information from messages to other applications; and other message-processing systems.

FIG. 6 depicts a web page 66 c that renders when a user selects the “Diagnostics” tab 42 a on the web page 66 a shown in FIG. 5A. In one embodiment, the web page 66 c may display diagnostic data collected from the ECU of a particular vehicle as described above. The web page 66 c may also involve a set of diagnostic data 131 that includes fields listing an acronym 132, value and units 134, and a brief description 136 for each datum. In other embodiments, the web page 66 c may include graphs 138, 139 that plot selected diagnostic data 131 in time-dependent (graph 139) and histogram (graph 138) formats.

In one embodiment, the in-vehicle telematics device may automatically transmit a set of diagnostic data 131 at a periodic interval such as, every 20 to 40 minutes. In other embodiments, the telematics device may transmit similar data sets at random time intervals in response to a query from the secondary software system, sometimes referred to as a “ping.” Detailed descriptions of these data and how such data can be further analyzed and displayed are provided in the following U.S. patents, the contents of which are incorporated herein by reference: WIRELESS DIAGNOSTIC SYSTEM AND METHOD FOR MONITORING VEHICLES (U.S. Pat. No. 6,636,790) and INTERNET-BASED VEHICLE-DIAGNOSTIC SYSTEM (U.S. Pat. No. 6,611,740).

FIG. 7 illustrates a web page 66 d, according to one embodiment, that renders when a user selects the “Mapping” tab 42 b on the web page 66 a shown in FIG. 5A. In one embodiment, the web page 66 d may display, GPS data 154 and a map 158 that together indicate a vehicle's location. According to this embodiment, the GPS data 154 may include the time and date, the vehicle's latitude, longitude, a “reverse geocode” of these data indicating a corresponding street address, the nearest cross street, and the status of the vehicle's ignition such as, for example, “on” or “off” and whether the vehicle is parked or moving. In addition, the map 158 may display these coordinates in a graphical form relative to an area of a few square miles. In one embodiment, the secondary software system 15 may render the web page 66 d each time the GPS data 154 are periodically transmitted from the in-vehicle telematics device 10, for example, every 1-2 minutes.

Both the map 158 and a database that translates the latitude and longitude into a reverse geocode may be hosted by an external computer server and may be accessible though an Internet-based protocol such as XML, Web Services, or TCP/IP. Companies such as MapTuit, MapQuest, and NavTech host software that provides maps and databases such as these. Methods for processing location-based data, taken alone or in combination with diagnostic data, are described in the following U.S. patent application, the contents of which are incorporated herein by reference: WIRELESS, INTERNET-BASED SYSTEM FOR TRANSMITTING AND ANALYZING GPS DATA (U.S. Ser. No. 10/301,010).

FIG. 8 depicts a web page 66 e that renders when a user selects the “Service Records” tab 42 c on the web page 66 a shown in FIG. 5A. In one embodiment, the web page 66 e may display a list of service records 164 for a particular vehicle and an individual service record 168 that provides details of a service performed on the vehicle. The list of service records 164 may include: 1) the date of the service; 2) a work order number; and 3) the company providing the service. In addition, the individual service record 168 may describe: 1) the type of service; 2) the mechanic that completed the service; 3) the cost of the service; 4) the mileage on the vehicle at the time of the service; and 5) one or more comments describing the service.

To display the list of service records 164 or the individual service record 168, the secondary software system may communicate through the web services interface to a data-management system (“DMS”) that operates in conjunction with a computer system at an automotive dealership. In another embodiment, the DMS may be, for example, an “Entity Relationship Attribute” (ERA) software system. According to this embodiment, the ERA system may transfer service records to the secondary software system through a variety of means such as, for example, XML, XML-based Web Services, file transfer protocol (FTP), and email. In one embodiment, the web page 66 e may also include service records describing service performed by organizations other than an automotive dealership. These include services performed by the vehicle owner or another non-dealership entities such as, for example, Jiffy Lube™. In other embodiments, the service records may also be entered by hand into the web page 66 e.

In still other embodiments, the above-described telematics system may communicate with a wide variety of secondary software systems via the web services interface. These secondary software systems may, for example, include systems that analyze diagnostic and location-based data, alone or in combination, for: (1) stolen-vehicle recovery; (2) vehicle-manufacturers (e.g., Ford, GM); (3) insurance applications; (4) emissions-control applications; (5) general fleet-management applications; (6) roadside assistance; (7) concierge services (e.g., directions); (8) product development and testing; (9) mapping applications; (10) toll collections; and (11) traffic management.

In further embodiments, the secondary software system may utilize the web services interface to implement additional performance features for the in-vehicle telematics device, for example, (1) alteration of data-transmission rates; (2) firmware downloads; (3) immediate transmission of diagnostic or location-based data; (4) investigation of the in-vehicle unit's hardware or software status; (5) network properties; (6) vehicle performance statistics; (7) GPS properties; and (8) ECU diagnostics and other vehicle properties.

According to other embodiments, the web services interface may feature a suite of “loosely coupled” web services that are “message” based and/or asynchronous in nature. In this embodiment, the loosely coupled web service may replace the above-described systems using the RPC SOAP servlet module as described in FIG. 2. In one embodiment, the loosely coupled web service may permit a “conversation” to occur between the secondary software system and a software system involving the web services interface. For example, the loosely coupled web service may send a first message to the vehicle that causes the in-vehicle telematics device to unlock the doors of the vehicle. According to this embodiment, the first message may also be followed by a second message that requests the in-vehicle telematics device to provide a status report with respect to the operation of unlocking the doors.

In one embodiment, the web services interface may also include security measures such as, for example, authentication, authorization, encryption, credential presentation, and digital signature resolution. In other embodiments, the web services interface may be modified to conform to industry-mandated, XML schema definitions, while remaining “backwards compatible” with any existing XML schema definitions such as XML schema definitions that may be used by an ERP system. In still other embodiments, the web services interface may be designed to be interoperable with other web services implementations, such as, for example, Microsoft .Net and IBM Websphere.

According to further embodiments, web pages hosted by the secondary software system may take on many different forms. For example, the display of the data, the nature and format of the data, and the computer code used to generate the web page and/or data may incorporate a variety of formats without deviating from the spirit of the present invention. In addition, a web page may also be formatted using standard wireless access protocols (WAP) thereby enabling the web page to be accessed by wireless devices such as, for example, cellular telephones, personal digital assistants (PDAs), and other related devices. In addition, these wireless devices may also display text messages that are transmitted using the above-described systems. In still other embodiments, the above-described systems may be used to locate vehicles or items other than cars and trucks, such as, for example, industrial equipment and/or shipping containers.

In general, it will be apparent to one of ordinary skill in the art that some of the embodiments as described hereinabove may be implemented in many different embodiments of software, firmware, and hardware in the entities illustrated in the figures. The actual software code or specialized control hardware used to implement some of the present embodiments is not limiting of the present invention. For example, the embodiments described hereinabove may be implemented in computer software using any suitable computer software language type such as, for example, C or C++ using, for example, conventional or object-oriented techniques. Such software may be stored on any type of suitable computer-readable medium or media such as, for example, a magnetic or optical storage medium. Thus, the operation and behavior of the embodiments are described without specific reference to the actual software code or specialized hardware components. The absence of such specific references is feasible because it is clearly understood that artisans of ordinary skill would be able to design software and control hardware to implement the embodiments of the present invention based on the description herein with only a reasonable effort and without undue experimentation.

Moreover, the processes associated with the present embodiments may be executed by programmable equipment, such as computers. Software that may cause programmable equipment to execute the processes may be stored in any storage device, such as, for example, a computer system (non-volatile) memory, an optical disk, magnetic tape, or magnetic disk. Furthermore, some of the processes may be programmed when the computer system is manufactured or via a computer-readable medium. Such a medium may include any of the forms listed above with respect to storage devices and may further include, for example, a carrier wave modulated, or otherwise manipulated, to convey instructions that may be read, demodulated/decoded and executed by a computer.

It can also be appreciated that some process aspects described herein may be performed using instructions stored on a computer-readable medium or media that direct a computer system to perform the process aspects. A computer-readable medium may include, for example, memory devices such as diskettes, compact discs of both read-only and read/write varieties, optical disk drives, and hard disk drives. A computer-readable medium may also include memory storage that may be physical, virtual, permanent, temporary, semi-permanent and/or semi-temporary. A computer-readable medium may further include one or more data signals transmitted on one or more carrier waves.

A “computer” or “computer system” may be, for example, a wireless or wireline variety of a microcomputer, minicomputer, laptop, personal data assistant (PDA), wireless e-mail device (e.g., BlackBerry), cellular phone, pager, processor, or any other programmable device configured to transmit and receive data over a network. Computer devices disclosed herein may include memory for storing certain software applications used in obtaining, processing and communicating data. It can be appreciated that such memory may be internal or external to the disclosed embodiments. The memory may also include any means for storing software, including a hard disk, an optical disk, floppy disk, ROM (read only memory), RAM (random access memory), PROM (programmable ROM), EEPROM (electrically erasable PROM), and other computer-readable media.

While several embodiments of the invention have been described, it should be apparent, however, that various modifications, alterations and adaptations to those embodiments may occur to persons skilled in the art with the attainment of some or all of the advantages of the present invention. For example, in some embodiments of the present invention disclosed herein, a single component may be replaced by multiple components, and multiple components may be replaced by a single component, to perform a given function or functions. Except where such substitution would not be operative to practice embodiments of the present invention, such substitution is within the scope of the present invention. The disclosed embodiments are therefore intended to include all such modifications, alterations and adaptations without departing from the scope and spirit of the present invention as defined by the appended claims. 

1. A telematics system comprising: a web services interface in communication with a secondary system, wherein the web services interface comprises at least one processor configured to at least one of retrieve, receive, analyze and transmit data in response to a request from the secondary system, wherein the at least one processor is configured to: process at least one servlet module stored thereon to at least one of: receive a first message sent through the web services interface from the secondary system; process the first message; extract at least one parameter from the first message; and transmit the at least one parameter to at least one enterprise Java bean; and process the at least one enterprise Java bean to communicate with at least one of the database and a web services description language file, wherein the at least one enterprise Java bean, which when executed by the processor, causes the processor to at least one of: extract data from the database; transmit data to the database; process the web services description language file; transmit at least one parameter of the web services description language file to the at least one servlet module; and transmit data extracted from the database to the at least one servlet module; a gateway system configured to at least one of transmit data through a network to an in-vehicle telematics device and receive data from an in-vehicle telematics device, wherein the data comprises at least one of diagnostic data and location-based data associated with a host vehicle; and a database in communication with the gateway system and the web services interface, wherein the database is configured to receive and store data from at least one of the gateway system and the web services interface.
 2. The telematics system of claim 1, wherein the at least one servlet module, which when executed by the processor, causes the processor to transmit a second message to the secondary system.
 3. The telematics system of claim 2, wherein the at least one enterprise Java bean is a stateless session bean.
 4. The telematics system of claim 1, wherein the web services interface is configured to transmit at least one of the diagnostic data and the location-based data to the secondary system.
 5. The telematics system of claim 4, wherein the web services interface is configured to transmit to the secondary system an Extensible Markup Language message, wherein the Extensible Markup Language message comprises at least one of the diagnostic data and location-based data.
 6. The telematics system of claim 4, wherein the web services interface is configured to transmit to the secondary system a simple object access protocol message, wherein the simple object access protocol message comprises at least one of the diagnostic data and location-based data.
 7. The telematics system of claim 1, wherein derivatives of at least one of the diagnostic data and the location-based data are at least one of stored, retrieved, received, analyzed and transmitted.
 8. The telematics system of claim 1, wherein the web services interface is configured to process at least one message, wherein the message is coded in an application-independent format.
 9. The telematics system of claim 8, wherein the application-independent format is an Extensible Markup Language format.
 10. The telematics system of claim 8, wherein the application-independent format is a simple object access protocol format. 